// pages/history/history.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    list:[],
    filteredList:[],
    isShow:true,//是否显示左侧按钮
    backgroundColor:'#efefef',//背景颜色
    navTitle:'历史数据',//标题
    isWhite:true,//是否白色胶囊
    titleColor:'black',//字体颜色
  },



  return(){
    wx.switchTab({
      url: '../logs/logs',
    })
  },
  previewImage: function(e) {
    const src = e.currentTarget.dataset.src;
    wx.previewImage({
      current: src, // 当前显示图片的http链接
      urls: this.data.filteredList.map(item => item.imgFile) // 需要预览的图片http链接列表
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad:function () {
    this.init()
  },
init: async function () {
  const user = wx.getStorageSync('user2');
  console.log(user.phone)
  let that = this  //建议小白以后都这样做，不然真的会出现一些弱智的问题，懂得都懂。。
  const db = wx.cloud.database({
    env: 'yolov8env-5gnky8v3b93bf904'
  });
  const c = db.collection("history"); //获取集合中记录的总数
  const total = await (await c.count()).total
  const batchTimes = Math.ceil(total / 20)
  console.log(batchTimes) //计算需要获取几次  比如你有36条数据就要获取两次 第一次20条第二次16条
  let arraypro = [] // 定义空数组 用来存储每一次获取到的记录 


  let x = 0 //这是一个标识每次循环就+1 当x等于batchTimes 说明已经到了最后一次获取数据的时候
  //没错，循环查询，看着就觉得很影响性能，但是么的办法。
  for (let i = 0; i < batchTimes; i++) {
  //分组获取
    db.collection("history").skip(i * 20).get({
      success: function (res) {
        x += 1
        // 20个20个的获取 最后一次不够20 那就是剩下的
        for (let j = 0; j < res.data.length; j++) {
          arraypro.push(res.data[j])
        }
        //判断是否是最后一次，如果是说明已经不用再继续获取了，这时候就可以赋值了
        if (x == batchTimes) {
          console.log(arraypro)
          that.setData({
            foodList: arraypro
          })
          console.log(that.data.foodList)
          that.setData({
            filteredList: that.data.foodList.filter(item => item.phone === user.phone)
          })
          console.log('filter',that.data.filteredList)
        }
      }
    })
  }
},
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
this.init()
wx.stopPullDownRefresh()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})